1. Field of the Invention
The present invention relates to a robot programming apparatus used for teaching a robot a required operation.
2. Description of the Related Art
In a known robot system, a robot holding a tool operates to perform predetermined machining on a workpiece. In such a robot system, a robot needs to be taught a certain operation, but a process of teaching a robot is generally complicated. Japanese Laid-open Patent Publications No. 6-059720 and No. 2013-248677 disclose techniques for creating a machining program offline.
Japanese Laid-open Patent Publication No. 6-059720 discloses a robot program creation method for creating a deburring program used to cause a robot equipped with a deburring tool to execute deburring on a product. According to this related technique, a linear element and a circular arc element included in a graphic are extracted from graphic data of an object created by a computer aided design (CAD), and a posture of a tool is calculated according to an angle formed between an end point of the linear element or a midpoint of the circular arc element and a plane of the graphic.
Japanese Laid-open Patent Publication No. 2013-248677 discloses a robot programming apparatus which creates a robot program for machining a workpiece using a robot equipped with a tool. According to this related technique, a certain operational pattern of the tool is projected onto a surface of a workpiece model in a virtual space to create a machining path, and also a position and a eposture of a tool are determined based on the machining path and a direction of a line extending normally relative to the surface of the workpiece model.
The above-described related techniques have advantages in that a robot program can be automatically created. However, when a program created offline is actually executed, a tool may possibly interfere with a workpiece. If this is the case, the program needs to be corrected, and therefore work efficiency of a teaching process may be decreased.
Therefore, there is a need for a robot programming apparatus which can create a robot program avoiding interference between a tool and a workpiece.